<template>
    <div class="wrapper">
			
			<!-- header部分 -->
			<header>
				<p>确认订单</p>
			</header>
		
			<!-- 订单信息部分 -->
			<div class="order-info">
				<h5>订单配送至：</h5>
				<div  @click="toAddress()" class="order-info-address">
					<!-- 需要让索引值可动态变化 -->

					<!-- 做了修改 -->
					<p>{{address.address}}</p>
					<i class="fa fa-angle-right"></i>
				</div>
				<p v-show="address.contactSex==1">{{address.contactName}}先生 {{address.contactTel}}</p>
                <p v-show="address.contactSex==0">{{address.contactName}}女士 {{address.contactTel}}</p>
			</div>
			
			<h3>{{this.business.businessName}}</h3>

			<!-- 订单明细部分 -->
			<ul v-for="(it,index) in cartArr" :key="index" class="order-detailed">
				<li>
					<div class="order-detailed-left">
            <!-- v-show=="it.quantity==0" -->
						<img :src="it.food.foodImg">
						<p>{{it.food.foodName}} x {{it.quantity}}</p>
					</div>
					<p>&#165;{{it.food.foodPrice}}</p>
				</li>
			</ul>
			<div class="order-deliveryfee">
				<p>配送费</p>
				<!-- 需要拿到商家信息 -->
				<p>&#165;{{business.deliveryPrice}}</p>
			</div>
			
			<!-- 合计部分 -->
			<div class="total">
				<div class="total-left">
					<!-- 拿到总金额,并上传会话存储 -->
					&#165;{{price()}}
				</div>
				<div class="total-right" @click="topay()">
					去支付
				</div>
			</div>
		</div>	
</template>


<script>
export default {
    data(){
        return{
			//参数传进来
            businessId:0,
            addressArr:[],
            business:{},
            cartArr:[],
			user:{},
			//////////////////////////////////
			daId:this.$route.query.daId,
			address:{},
			orderId:0
        }
    },


    created(){
		//拿到user
        this.user = this.$getSessionStorage('user');
		//最开始拿不到
		// this.numbuer = this.$getSessionStorage('number');
		this.businessId = this.$getSessionStorage('businessId');
		//向后台发送ajax查询购物车列表
		this.$axios.post('CartController/listCart',this.$qs.stringify({
            userId:this.user.userId,
			businessId:this.businessId
        })).then(response=>{
            this.cartArr = response.data;
			//购物车存进会话存储
			this.$setSessionStorage('cart',this.cartArr)
        }).catch(error=>{
            console.log(error)
        })

		//向后台发送ajax查询送货地址
		this.$axios.post('DeliveryAddressController/listDeliveryAddressByUserId',this.$qs.stringify({
            userId:this.user.userId
        })).then(response=>{
            this.addressArr = response.data;
			//上传地址
			this.$setSessionStorage('addressArr',this.addressArr)
        }).catch(error=>{
            console.log(error)
        })
		//查询商家根据商家id
		this.$axios.post('BusinessController/getBusinessById',this.$qs.stringify({
            businessId:this.businessId
        })).then(response=>{
			// console.log(response.data);
            this.business = response.data;
			this.$setSessionStorage('business',this.business)
        }).catch(error=>{
            console.log(error)
        })
/////////////////////////////查询单一地址
		this.$axios.post('DeliveryAddressController/getDeliveryAddressById',this.$qs.stringify({
            daId:this.daId
        })).then(response=>{
            this.address = response.data;
        }).catch(error=>{
            console.log(error)
        })
		
	

    },


    methods:{
		//路由跳转地址页面,传进一个参数
         toAddress(){
         this.$router.push({
				path:'/userAddress',
				quary:{
					businessId:this.businessId
				}
				})
    		},
		// 路由跳转支付页面
			topay(){
				//需要拿到收货地址的daId,根据用户选择的地址的索引值获取
				//创建订单,清空购物车
				this.$axios.post('OrdersController/createOrders',this.$qs.stringify({
					userId:this.user.userId,
					businessId:this.businessId,
					daId:this.daId,
					//拿不到总金额
					orderTotal:this.price()
				})).then(response=>{
					this.orderId = response.data;
					//将返回的订单id存进会话存储
					this.$setSessionStorage('orderId',this.orderId)
				}).catch(error=>{
					console.log(error)
				})
				//跳转
				this.$router.push({
					path:'/payment'
				})
			}


    },
    computed:{
		// 总金额
      price(){
				return function(){
					let b =0;
				for(let a = 0;a<this.cartArr.length;a++){
					let d = this.cartArr[a].quantity*this.cartArr[a].food.foodPrice
					b+=d;
				}
				let i = this.business.deliveryPrice
				//上传总金额
				this.$setSessionStorage('monery',b+i);
				return b+i;
				}
			},
    }
}







</script>


<style scoped>
/****************** 总容器 ******************/
.wrapper{
	width: 100%;
	height: 100%;
}

/****************** header部分 ******************/
.wrapper header{
	width: 100%;
	height: 12vw;
	background-color: #0097FF;
	color: #fff;
	font-size: 4.8vw;
	
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1000;
	
	display: flex;
	justify-content: center;
	align-items: center;
}

/****************** 订单信息部分 ******************/
.wrapper .order-info{
	/*注意这里，不设置高，靠内容撑开。因为地址有可能折行*/
	width: 100%;
	margin-top: 12vw;
	background-color: #0097EF;
	box-sizing: border-box;
	padding: 2vw;
	color: #fff;
}
.wrapper .order-info h5{
	font-size: 3vw;
	font-weight: 300;
}
.wrapper .order-info .order-info-address{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	
	font-weight: 700;
	user-select: none;
	cursor: pointer;
	margin: 1vw 0;
}
.wrapper .order-info .order-info-address p{
	width: 90%;
	font-size: 5vw;
}
.wrapper .order-info .order-info-address i{
	font-size: 6vw;
}
.wrapper .order-info p{
	font-size: 3vw;
}

.wrapper h3{
	box-sizing: border-box;
	padding: 3vw;
	font-size: 4vw;
	color: #666;
	border-bottom: solid 1px #DDD;
}

/****************** 订单明细部分 ******************/
.wrapper .order-detailed{
	width: 100%;
}
.wrapper .order-detailed li{
	width: 100%;
	height: 16vw;
	box-sizing: border-box;
	padding: 3vw;
	color: #666;
	
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.wrapper .order-detailed li .order-detailed-left{
	display: flex;
	align-items: center;
}
.wrapper .order-detailed li .order-detailed-left img{
	width: 10vw;
	height: 10vw;
}
.wrapper .order-detailed li .order-detailed-left p{
	font-size: 3.5vw;
	margin-left: 3vw;
}
.wrapper .order-detailed li p{
	font-size: 3.5vw;
}
.wrapper .order-deliveryfee{
	width: 100%;
	height: 16vw;
	box-sizing: border-box;
	padding: 3vw;
	color: #666;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 3.5vw;
}

/****************** 订单合计部分 ******************/
.wrapper .total{
	width: 100%;
	height: 14vw;
	
	position: fixed;
	left: 0;
	bottom: 0;
	
	display: flex;
}
.wrapper .total .total-left{
	flex: 2;
	background-color: #505051;
	color: #fff;
	font-size: 4.5vw;
	font-weight: 700;
	user-select: none;
	
	display: flex;
	justify-content: center;
	align-items: center;
}
.wrapper .total .total-right{
	flex: 1;
	background-color: #38CA73;
	color: #fff;
	font-size: 4.5vw;
	font-weight: 700;
	user-select: none;
	cursor: pointer;
	
	display: flex;
	justify-content: center;
	align-items: center;
}
</style>